Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

rrdir

Package Overview
Dependencies
Maintainers
1
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rrdir

Recursive directory reader with a delightful API

  • 8.2.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
80
decreased by-64.6%
Maintainers
1
Weekly downloads
 
Created
Source

rrdir

Recursive directory reader with a delightful API

rrdir recursively reads a directory and returns entries within via an async iterator or async/sync as Array. It has minimal dependencies and can typically iterate millions of files in a matter of seconds. Memory usage is O(1) for the async iterator and O(n) for the Array variants.

Usage

npm i rrdir
const rrdir = require("rrdir");

for await (const entry of rrdir("dir")) {
  // => {path: 'dir/file', directory: false, symlink: false}
}

const entries = await rrdir.async("dir");
// => [{path: 'dir/file', directory: false, symlink: false}]

const entries = rrdir.sync("dir");
// => [{path: 'dir/file', directory: false, symlink: false}]

API

rrdir(dir, [options])

rrdir.async(dir, [options])

rrdir.sync(dir, [options])

rrdir is an async iterator which yields entry. rrdir.async and rrdir.sync return an Array of entry.

dir String | Buffer

The directory to read, either absolute or relative. Pass a Buffer to switch the module into Buffer mode which is required to be able to read every file, like for example files with names that are invalid UTF-8 sequences.

options Object
  • stats boolean: Whether to include entry.stats. Will reduce performance. Default: false.
  • followSymlinks boolean: Whether to follow symlinks for both recursion and stat calls. Default: false.
  • exclude Array: Path globs to exclude, e.g. ["**/*.js"]. Default: undefined.
  • include Array: Path globs to include, e.g. ["**/*.map"]. Default: undefined.
  • strict boolean: Whether to throw immediately when reading an entry fails. Default: false.
  • match Object: picomatch options. Default: {dot: true}.
entry Object
  • path string | Buffer: The path to the entry, will be relative if dir is given relative. If dir is a Buffer, this will be too. Always present.
  • directory boolean: Boolean indicating whether the entry is a directory. undefined on error.
  • symlink boolean: Boolean indicating whether the entry is a symbolic link. undefined on error.
  • stats Object: A fs.stats object, present when options.stats is set. undefined on error.
  • err Error: Any error encountered while reading this entry. undefined on success.

© silverwind, distributed under BSD licence

Keywords

FAQs

Package last updated on 05 Mar 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc